#pragma once

#include <vector>
#include <GL/glew.h>
#include <GL/glut.h>
#include <glm\glm.hpp>


enum shape {cube, sphere, teapot, cone, cylinder} ;

class GLObject
{
public:
  glm::mat4 transf(void);
  static std::vector<GLObject*>* objects;
  GLObject();
  ~GLObject(void);
  virtual void draw(glm::mat4 global_transform);
  shape type ; 
  GLfloat size ;
  GLfloat ambient[4]; 
  GLfloat diffuse[4] ; 
  GLfloat specular[4] ;
  GLfloat emission[4] ; 
  GLfloat shininess ;
  glm::mat4 transform ; 
};

